Перем ЮнитТест;

#Область ОбработчикиСобытийМодуля

Функция Версия() Экспорт
	Возврат "1.0";
КонецФункции

Функция ПолучитьСписокТестов(МенеджерТестирования) Экспорт
	
	ЮнитТест = МенеджерТестирования;

	СписокТестов = Новый Массив;
	СписокТестов.Добавить("ТестКонструктор");
	СписокТестов.Добавить("TestConstructor");
	СписокТестов.Добавить("ТестМинимальноВходит");
	СписокТестов.Добавить("ТестМаксимальноВходит");
	СписокТестов.Добавить("ТестЧасть");

	Возврат СписокТестов;

КонецФункции

#КонецОбласти

#Область ОбработчикиТестирования

Процедура ТестКонструктор() Экспорт

	Фрагмент = Новый ФрагментXS;
	
	ЮнитТест.ПроверитьРавенство(ТипЗнч(Фрагмент), Тип("ФрагментXS"));
	ЮнитТест.ПроверитьРавенство(Фрагмент.ТипКомпоненты, ТипКомпонентыXS.Фрагмент);
	ЮнитТест.ПроверитьРавенство(Фрагмент.Компоненты.Количество(), 0);

КонецПроцедуры

Procedure TestConstructor() Export

	Particle = New XSParticle;

	ЮнитТест.ПроверитьРавенство(TypeOf(Particle), Type("XSParticle"));
	ЮнитТест.ПроверитьРавенство(Particle.ComponentType, XSComponentType.Particle);

EndProcedure

Процедура ТестМинимальноВходит() Экспорт

	Фрагмент = Новый ФрагментXS;

	Фрагмент.МинимальноВходит = 5;

	ЮнитТест.ПроверитьРавенство(Фрагмент.МинимальноВходит, 5);
	
КонецПроцедуры

Процедура ТестМаксимальноВходит() Экспорт

	Фрагмент = Новый ФрагментXS;

	Фрагмент.МаксимальноВходит = 5;

	ЮнитТест.ПроверитьРавенство(Фрагмент.МаксимальноВходит, 5);
	
КонецПроцедуры

Процедура ТестЧасть() Экспорт

	Фрагмент = Новый ФрагментXS;

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;

	Фрагмент.Часть = ОбъявлениеЭлемента;

	ЮнитТест.ПроверитьРавенство(Фрагмент.Часть, ОбъявлениеЭлемента);
	ЮнитТест.ПроверитьРавенство(Фрагмент.Компоненты.Количество(), 1);
	ЮнитТест.ПроверитьИстину(Фрагмент.Содержит(ОбъявлениеЭлемента));
	
КонецПроцедуры

#КонецОбласти